package cn.iocoder.yudao.module.system.api.cp.dto;

import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * @Author LiZhiMin
 * @Date 2024/8/15 10:14
 */
@Schema(description = "RPC 服务 - 雷达发送 Request VO")
@Data
public class RadarSaveReqVO {


    @Schema(description = "租户id", example = "1024")
    private Integer tenantId;

    @Schema(description = "* 指定接收消息的成员，成员ID列表（多个接收者用‘|’分隔，最多支持1000个）。\n" +
            "   * 特殊情况：指定为\"@all\"，则向该企业应用的全部成员发送", example = "1024")
    private String toUser;


    @Schema(description = "发送雷达类型 0 用户开始浏览  1访客转发  2 用户结束浏览", example = "0")
    @NotNull(message = "发送雷达类型不能为空")
    private String radarType;

    @Schema(description = "链路id(保留)", example = "0")
    //@NotNull(message = "链路id(保留)不能为空")
    private String linkId;

    @Schema(description = "访客昵称", example = "张三的微信昵称")
    //@NotNull(message = "访客昵称-不能为空")
    private String name;

    @Schema(description = "文章标题", example = "张三的微信昵称")
    @NotNull(message = "文章标题不能为空")
    private String title;

    @Schema(description = "开始访问时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    //@NotNull(message = "开始访问时间-不能为空")
    private LocalDateTime startTime;

    @Schema(description = "结束访问时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    //@NotNull(message = "结束访问时间-不能为空")
    private LocalDateTime endTime;

    @Schema(description = "访问时长(秒)")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    //@NotNull(message = "访问时长-不能为空")
    private Integer lookTime;

    @Schema(description = "浏览内容比例")
    //@NotNull(message = "浏览内容比例-不能为空")
    private Integer percentage;

    @Schema(description = "调转页面路径")
    private String pageUrl;

}
